using System;
//using System.Xml.Linq;
using System.Windows.Forms;
//using System.Linq;


public partial class mtoSocios
{
    public mtoSocios()
    {
        InitializeComponent();
        TipoShowForm = clsVariables.eTipoShowForm.Show;
        adjArchivos.CtrlContieneDescripcion = txtDNI; adjArchivos.CtrlContieneId = numIdSocio;
        adjArchivos.strSubCarpetaindicada = "Socios";
    }

    private void mtoSocios_Load(object sender, System.EventArgs e)
    {
        txtNombre.MaxLength = 45;
        txtApellidos.MaxLength = 70;
        txtDNI.MaxLength = 9;
        txtDireccion.MaxLength = 150;
        txtCP.MaxLength = 5;
        txtPoblacion.MaxLength = 50;
        txtProvincia.MaxLength = 50;
        txtEmail.MaxLength = 45;
        txtnumerocuenta.MaxLength = 30;
        txtObservaciones.MaxLength = 500;
        //Ya hay un evento q lo hace
        //mtoSocios_EstablecerValoresDefecto(); //Establacer valores por defecto del alta
    }
    //
    private bool SuperaValidarRegistro(bool bolMostrarMensajesError)
    {
        bool Ret = true;
        string MensajeError = string.Empty;
        Control ctlFoco = null;

        //If bolFormCargado Then
        //Validaciones
        //If String.IsNullOrEmpty(numUniNov.Value) OrElse IsNumeric(numUniNov.Value.ToString()) = False Then
        //   MensajeError = "'Unidad Novartis' no tienen un valor correcto."
        //   CtrlFoco = Me.numUniNov
        //   Ret = False
        //End If

        //Validaciones adjuntos
        //if (TipoAccion == eTipoAccion.Anyadir)
        //{
        //   if (adjArchivos.CarpetaAdjuntosExisteyTieneFicheros(adjArchivos))
        //   {
        //      Ret = false;
        //   }
        //}
        //else
        //{
        //   if (adjArchivos.MasDeUnIdEnCarpetaAdjuntos(numIdSocio.Value.ToString(), 
        //      adjArchivos.UbicacionRepositorio + "\\" + adjArchivos.Carpeta + "\\", 1))
        //   {
        //      Ret = false;
        //   }
        //}
        
        if ((int)intPrevision.Value == 0)
        {
            MensajeError = "Prevision no puede ser 0";

            ctlFoco = intPrevision;         
        }

        Ret = adjArchivos.ValidacionAdjuntosAgenoma(TipoAccion);    //'Validaciones adjuntos

        if (MensajeError != string.Empty && bolMostrarMensajesError)
        {
            if (ctlFoco != null) { ctlFoco.Focus(); }

            Ret = false;

            MessageBox.Show(MensajeError, GetType().Assembly.GetName().Name, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
        //Else
        //Ret = False
        //End If
        //
        return Ret;
    }

    private void mtoSocios_DespuesGuardar()
    {
        adjArchivos.GuardarAdjuntosSCP(String.Format("{0} - {1}", RowDatosMto["IdSocio"].ToString(), txtDNI.Text), TipoAccion);
    }

    private void datfechaalta_ValueChanged(object sender, EventArgs e)
    {
        if (Microsoft.VisualBasic.Information.IsDate(datfechaalta.Value)) { intanyoactual.Value = Convert.ToDateTime(datfechaalta.Value).Year; }
    }
    //
    private void mtoSocios_LanzarErrorPersonalizado(System.ComponentModel.CancelEventArgs e, Exception Err)
    {
        //string strErr = Err.Message.ToString().Trim().ToLower(); 
        //string strNuevoError="";
        //if (strErr.IndexOf("duplicate entry") != -1) //Duplicate entry '701' for key 'codsocio'
        //{
        //   int posicioncampoduplicado = strErr.IndexOf("for key '");
        //   string strCampoDuplicado = Utiles.Strings.Mid(strErr, posicioncampoduplicado + 10, 100);
        //   strCampoDuplicado = strCampoDuplicado.Replace("'", "");
        //   strNuevoError = strErr.Replace("duplicate entry", "Valor duplicado: ");
        //   strNuevoError = strErr.Replace("for key", "para el campo: ");
        //   strNuevoError = strErr.Replace(strCampoDuplicado, clsVariables.RetCamposDescripcion(strCampoDuplicado));
        //   //
        //   Utiles.Errores.LanzarError(this, "GuardarDatos", strNuevoError + "No se continuará el alta.", null, MessageBoxIcon.Exclamation);
        //   e.Cancel = true; //cancelar el error general
        //}    
    }
    //
    private void mtoSocios_EstablecerValoresDefecto()
    {
        numMesesRenovacion.Value = (int)clsBBDD.ObtenerVariables("MREN", clsVariables.e_TipoOrigen.Cliente); //Cada cuantos meses renuevan los socios
        //
        //IniciarCargarControlAdjuntos(false); //En alta tb se ha de poner para que coga la ruta donde debe guardar
        //adjArchivos.Enabled = false; //adjArchivos.Enabled = (TipoAccion == eTipoAccion.Anyadir);
        if (TipoAccion == eTipoAccion.Anyadir)
        {
            datfechaalta.Value = DateTime.Now.ToString("dd/MM/yyyy"); ;
            datfecharenovacion.Value = System.DateTime.Now.AddMonths((int)numMesesRenovacion.Value);
            numCuota.Value = (int)clsBBDD.ObtenerVariables("CUOT", clsVariables.e_TipoOrigen.Cliente);
        }
        numCodSocio.Focus();
        //else { datfechaalta.Enabled = false; }
        //
        //Adjuntos nuevo      
        adjArchivos.BorrarColeccionesDeDatos();                  //'reseteo elementos control
        adjArchivos.IniciarCargarControlAdjuntos(TipoAccion);    //'cargo de nuevo
        adjArchivos.ActualizarAdjuntos(TipoAccion);
        adjArchivos.Enabled = (TipoAccion != eTipoAccion.Consultar);
    }

    private void mtoSocios_AntesGuardar(object sender, System.ComponentModel.CancelEventArgs e)
    {
        e.Cancel = !SuperaValidarRegistro(true);
    }
    //
    #region Adjuntos Old
    //   private void ActualizarControlAdjuntos() // Me.DespuesGuardar
    //{
    //   //Por cada PrimaryKey pasarlo al mto
    //   //foreach ( System.Data.DataColumn Dc in RowDatos.Table.PrimaryKey) 
    //   //{
    //   //   dynamic oCtrl = this.Controls.Find(Dc.ColumnName, true)[0]; ;
    //   //   oCtrl.Value = NavUgDatos.ActiveRow.Cells[Dc.ColumnName].Value;
    //   //}        
    //   //numIdSocio.Value = RowDatos["idsocio"]; //Ids de Adjuntos

    //   numIdSocio.Value = RowDatosMto["idsocio"];
    //   //if (TipoAccion == eTipoAccion.Editar ) 
    //   //{
    //   //   string NombreSubcarpeta = String.Format("{0} - {1}", numIdSocio.Value, txtDNI.Text);
    //   //   adjArchivos.SubCarpeta = NombreSubcarpeta; 
    //   //}
    //   ActualizarAdjuntos();
    //   adjArchivos.BorrarColeccionesDeDatos(); //reseteo elementos control
    //   IniciarCargarControlAdjuntos(true); //cargo de nuevo
    //}
    ////
    //private void ActualizacionAdjuntos(object sender, System.ComponentModel.CancelEventArgs e) // Me.DespuésDeAlta, Me.DespuésDeModificar
    //{
    //   e.Cancel = !ValidarRegistro(true);
    //   //p_CodigoAdjunto = intidproducto.Value & "_" & intidproductoadjunto.Value
    //   // ActualizarAdjuntos()
    //}
    ////
    //private void ActualizarAdjuntos()
    //{
    //   string NombreSubcarpeta = String.Format("{0} - {1}", numIdSocio.Value, txtDNI.Text);
    //   //
    //   //Actualizar Información ADJUNTOS
    //   adjArchivos.Carpeta = "Socios";
    //   adjArchivos.IDActual = numIdSocio.Value.ToString();
    //   //Según si es Alta o Modificación cambia el orden pq
    //   //sino archivosAdjuntosAEliminar de Adjuntos no borra en las rutas correctas en modificación
    //   //o NombreSubcarpeta no es correcto en Alta
    //   if (TipoAccion == eTipoAccion.Anyadir)
    //   {
    //      adjArchivos.SubCarpeta = NombreSubcarpeta; //drFila.Item("ParteID").ToString
    //      //Recorrer adjuntos para cambiarle la descripcion (si cabe pq. si eliminamos un adjunto ya lo comprueba por ej)
    //      adjArchivos.CambiarNombreAdjunto();
    //      adjArchivos.Actualizar();
    //   }
    //   else
    //   {
    //      adjArchivos.Actualizar();
    //      adjArchivos.SubCarpeta = NombreSubcarpeta;
    //      adjArchivos.CambiarNombreAdjunto();
    //   }
    //}
    ////
    //private void IniciarCargarControlAdjuntos(bool bolActivarControl)
    //{
    //   bool bolSeguir = true;
    //   string DescripcíonFinal = string.Empty;
    //   string strSubCarpeta = string.Empty;
    //   //'
    //   //Cargar control adjuntos
    //   adjArchivos.BorrarColeccionesDeDatos(); //reseteo elementos control
    //   adjArchivos.Enabled = true;
    //   //         .Visible = true
    //   //        If .Visible Then
    //   adjArchivos.UbicacionRepositorio = clsVariables.str_PathAdjuntos;
    //   adjArchivos.Carpeta = "Socios";
    //   adjArchivos.IDActual = numIdSocio.Value.ToString();
    //   strSubCarpeta = Utiles.General.ScpIsNull(adjArchivos.IDActual + " - " + txtDNI.Text, "").ToString();
    //   adjArchivos.SubCarpeta = strSubCarpeta;
    //   adjArchivos.SubCarpeta = adjArchivos.SubCarpeta.Trim();
    //   if (TipoAccion == eTipoAccion.Anyadir && adjArchivos.CarpetaAdjuntosExisteyTieneFicheros(adjArchivos))
    //   {
    //      bolSeguir = false;
    //   }
    //   if (bolSeguir)
    //   {
    //      if (!string.IsNullOrEmpty(adjArchivos.SubCarpeta))
    //      {
    //         bolSeguir = adjArchivos.CargarArchivos();
    //      }
    //   }
    //   //  End If
    //   //
    //   //Sincronizar descripciones entre gproy y explorer
    //   DescripcíonFinal = adjArchivos.ComprobarDescripcionAdjuntosHaCambiado(adjArchivos.SubCarpeta, strSubCarpeta, adjArchivos.Carpeta);
    //   if (DescripcíonFinal != string.Empty)
    //   {
    //      txtDNI.Text = DescripcíonFinal;
    //   }
    //   //
    //   if (TipoAccion == eTipoAccion.Anyadir)
    //   {
    //      //Si es ediciñon o consulta
    //      adjArchivos.Enabled = bolActivarControl; //.Visible = True
    //   }
    //   //
    //}
    #endregion
    //
}
